import React, { Component } from 'react'

export default class Hello extends Component {
  UNSAFE_componentWillReceiveProps (nextProps) {
    //用于获取最新的属性
    //用于判断组件的当前属性是否改变过
    console.log('Hello-componentWillReceiveProps', nextProps.name === this.props.name)
  }

  shouldComponentUpdate (nextProps, nextState) {
    //表示组件是否更新,这个钩子函数只要写,就必须有返回值,返回值是布尔值
    //这个钩子函数是新能优化的关键
    console.log('Hello_shouldComponentUpdate')
    return !(nextProps.name === this.props.name)
  }

  UNSAFE_componentWillUpdate () {
    //表示组件即将更新
    console.log('Hello-UNSAFE_componentWillUpdate')
  }
  render () {
    console.log('reder')
    const { name } = this.props
    return (
      <div>
        {name}
      </div>
    )
  }
  componentDidUpdate () {
    //表示组件更新结束真实dom又生成了
    console.log('Hello_componentDidupdate')
  }
}
